package org.springframework.boot;

import org.springframework.boot.context.properties.source.ConfigurationPropertySources;
import org.springframework.core.env.PropertySource;
import org.springframework.core.io.ClassPathResource;
import org.springframework.core.io.support.ResourcePropertySource;

import java.io.IOException;

public class Step4 {
    public static void main(String[] args) throws IOException {
        ApplicationEnvironment env = new ApplicationEnvironment();
        env.getPropertySources().addLast(
                new ResourcePropertySource("step4", new ClassPathResource("step4.properties"))
        );

        /**
         * user.first-name=George
         * user.middle_name=Walker
         * user.lastName=Bush
         * 对于配置文件里的上述键值对，通过user.first-name、user.middle-name、user.last-name可以取出来吗
         * spring中可以取出来（真的吗，好像没试过，先不管他）。原因就是在第4步的时候会attach下面异步，就可以了（了解即可）
         */
        ConfigurationPropertySources.attach(env);
        for (PropertySource<?> ps : env.getPropertySources()) {
            System.out.println(ps);
        }

        System.out.println(env.getProperty("user.first-name"));
        System.out.println(env.getProperty("user.middle-name"));
        System.out.println(env.getProperty("user.last-name"));

    }
}
